package com.xu.cloud.common.auth;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 鉴权注解
 * hasRole和hasPermission同时存在是与的关系
 *
 * @author xuguan
 * @since 2025/1/10
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Authorization {

    /**
     * 需要具备的角色
     */
    String hasRole() default "";

    /**
     * 需要具备的权限
     */
    String hasPermission() default "";
}
